package data

type LogRecordType = byte

const (
	LogRecordNormal LogRecordType = iota
	LogRecordDeleted
	LogRecordRaw
	LogRecordRawDeleted
	LogRecordRawIndex
)

// LogRecordPos 数据内存索引，主要是描述数据在磁盘文件中的位置
// 之所以叫日志, 是因为数据写入磁盘文件时，类似日志的格式
type LogRecord struct {
	Key   []byte // 文件 id  表示数据存储到哪个文件
	Value []byte //偏移 表示将数据存储到文件的哪个位置
	Type  LogRecordType
}

// LogRecordPos 数据磁盘索引，主要描述数据在磁盘文件中的位置
type LogRecordPos struct {
	Fid    uint32 // 文件id 表示数据存储到哪个文件
	Offset int64  // 偏移 表示将数据存储到文件的哪个位置
}

// 对LogRecord进行编码, 返回编码后的数据及数据长度
func EncodeLogRecord(logRecord *LogRecord) ([]byte, int64) {
	return nil, 0
}
